1. Field of the Invention
The invention relates to a technique for use in an ISDN communications system that provides an ISDN access path for connecting a host computer to a user terminal. In particular, this technique permits the host computer to dynamically change the ISDN access path between a packet switched connection and a circuit switched connection during an ongoing host session with the user in order to provide a particular ISDN connection that is most suited to the communication requirements of a current task being executed by the host computer during the session.
2. Description of the Prior Art
The Integrated Services Digital Network ("ISDN") is currently seen as a framework for providing new efficient voice and data telephonic services in the near future. As such, ISDN switches are being now being manufactured by various vendors and integrated into the telephone network by local telephone operating companies.
Within the ISDN, an ISDN access line connects each caller and an ISDN switch located at a central office. In one configuration, i.e basic access, an ISDN access path consists of two ISDN "B" digital channels and one ISDN "D" digital channel. Each "B" channel has a capacity of 64 kbits/second; while, the "D" channel has a capacity of 16 kbits/second. The "D" channel can only carry packets; while each of the "B" channels can carry either packets or continuous (circuit switched) signals. To initiate an ISDN call, a caller's terminal equipment places signalling information contained within a packet onto the "D" channel in order to, inter alia, specify to the ISDN switch what specific connection should be provided from the switch to the caller and what specific channel should be used to provide this connection, specifically whether a packet switched "D" channel connection, or if a "B" channel is to be used, which specific "B" channel should be used and whether a packet or circuit switched connection is to be established on that channel.
With this arrangement, an ISDN switch can provide either a circuit switched connection or a packet switched connection to a caller. A circuit switched connection, which can only occur on the "B" channel, provides a multiplexed communication path, in e.g. space and/or time division multiplexed fashion, between the calling and called parties that lasts throughout the entire duration of the call. As such, only one call is able to use any given switched connection through the network at any one time. In contrast, a packet switched connection merely relies on queuing packets of data at an ISDN switch for transmission between a caller, frequently a user, and a called party, typically a host computer, and then sequentially transmitting those packets, from point to point within the packet network that forms part of the ISDN as transmission capacity becomes available therebetween. Inasmuch as each user of a packet switched connection merely requires a separate address in a memory of a local switch, e.g. a memory location, to which packets can be transmitted and from which packets can be received and hence consumes relatively few network resources throughout the duration of the call, many different packet switched calls can share all the remaining network facilities, including identical communication paths.
Due to the substantial differences between the two different types of ISDN connections, circuit switched and packet switched connections each provides different advantages and drawbacks. First, a circuit switched connection provides a continuous transmission path from the caller to the called party throughout the duration of a call. Such a connection imparts relatively little, if any, transmission delay to any communication carried over the path. Therefore, circuit switched connections are used in those communication applications, such as illustratively conversational voice traffic or highly interactive data traffic, where any appreciable transmission delay can not be tolerated. Second, circuit switched connections provide higher throughput than do many packet switched networks, such as specifically X.25 type packet switched networks. As such, communications applications that require a high throughput and low delay transmission path, such as illustratively real-time transfer of large files or transfer of high density digitized images, are ideal for transport over circuit switched connections. Unfortunately, since only one call, at least from the standpoint of a local switch and apart from any user multiplexing, can be carried over a given circuit switched connection through the network from a caller to a called party, use of a circuit switched connection tends to be quite expensive particularly if the connection is to be maintained over a prolonged period of time.
Other communication applications, which are typified by relatively long latency periods between successive transmissions from one party to the other, are bursty in nature and essentially unaffected by appreciable transmission delay. Bursty communications are ideal for carriage over a packet network. Communications of this sort illustratively include transport of user commands from a user's terminal to a host computer to initiate execution of a program that requires a relatively long processing time and relatively little user entry of information thereafter. Often, whenever a user undertakes line oriented interactive operations with a host computer, the user expects to encounter some delay after he or she enters each line of information, typically a command followed by a line delimiter which is frequently a carriage return, and before control is returned to the user. During the delay interval, the host computer processes the entered line. Unfortunately, when a packet switched network, specifically an X.25 network, carries a host session, the network often injects a noticeable amount of transport delay into the session in addition to the delay inherent in the processing time required by a host application. The time required by the host computer to process each character in the line of information is often substantially shorter than the transport delay of the packet network. Now, if the host computer was required to echo each character that the user enters back to the terminal for local display, then the transport delay inherent in the packet network would force the user to wait until some time after each character was entered in order to see the information which that line contained. The delay perceived by the user and associated with host based echoing is frequently referred to as "echoplex." Inasmuch as network delay, which is the predominant cause of echoplex, prevents the user from obtaining immediate feedback of the contents of the current line and expeditiously correcting any mistake thereon, many users find echoplex to be highly unsatisfactory and quite annoying. In an effort to eliminate echoplex that may be experienced with a packet switched network, the art teaches that a local packet assembly/disassembly ("PAD") function should be incorporated into a user terminal. In this regard, see "Packet Assembly/Disassembly Facility (PAD) in a Public Data Network", CCITT Recommendation X.3, 1984, CCITT document AP VIII-57-E, pages 22-44. In particular, the PAD function echoes locally entered characters for display and assembles an outgoing packet of entered characters up to a pre-defined maximum character limit and then transmits the packet upon receipt of a suitable delimiter, typically a carriage return from the user, over the network. In addition, the PAD function also dis-assembles each incoming packet supplied through the network from the host computer and locally displays the characters contained in that packet on the terminal. By providing local echoing, the PAD function advantageously eliminates echoplex and, from a user's standpoint, appears to shift all the delay, i.e. network transport and host processing, to the end of each entered line, i.e. after that line was displayed to a user, where that delay is far less objectionable to the user. Hence, because of the essentially delay-insensitive nature of bursty communications, this type of communication, particularly involving a user terminal that provides the PAD function, can be transported far more economically through a packet switched connection than through a circuit switched connection.
Thus, by virtue of the potential sharing inherent in packet switched connections and the dedication of a switched path in a circuit switched connection, packet switched connections provide a highly economical though delay prone point-to-point transport media; while, by contrast, circuit switched connections provide a relatively expensive but nearly instantaneous transport media with a relatively high throughput.
Oftentimes, a host session will contain periods of highly interactive communications characterized by stringent maximum delay requirements between the host computer and the user, during which the local echo and line buffering PAD functions are disabled by the host, and latent periods that are punctuated by bursty transmissions. For example, a substantial amount of this interactivity, on a keystroke-by-keystroke basis, often occurs during use of an interactive screen editor. In particular, an interactive screen editor often utilizes the same character key to provide several different functions, with each function selected by depressing a keyboard sequence containing a given character key, e.g. a "j" key, along with various control, function or escape keys. As such, to provide the appropriate indication on the user terminal, e.g. moving a cursor down one line when a "j" key is depressed while the user is in the control mode of a "UNIX" "vi" screen editor (UNIX is a registered trademark of the American Telephone and Telegraph Company), in lieu of always displaying the character "j" associated with the depressed key itself, the host application (e.g. the "UNIX" "vi" editor) disables the PAD function on the user terminal and provides appropriate character echoing or other indication back to the user terminal. In this regard, see "Procedures for the Exchange of Control Information and User Data between a Packet Assembly/Disassembly Facility (PAD) and a Packet Mode DTE or Another PAD", CCITT Recommendation X.29, CCITT document AP VIII-59-E, 1984, pages 55-72. To assure that the user is provided with a sufficiently fast response time to support a high degree of keystroke interactivity without objectionable echoplex, the communication media, such as a network connection, that connects the host computer to the user is constrained to impart less than a pre-defined maximum amount of transport delay to any transmission carried thereover.
From time to time, the user may step away from a terminal or turn to an entirely different matter resulting in a temporary cessation of host activity with the user. Such a cessation, depending upon what the user is doing, may last several hours. During such a cessation, the host session itself still remains active, although the host computer is only instructing the terminal to display a cursor to prompt the user for subsequent input. This function is typically handled by a low level communications process that executes in the host computer or in a front end communications processor associated therewith. If the user terminal is configured to provide local processing, such as that which could occur with illustratively a personal computer or workstation, then similar host inactivity could occur once the workstation receives a requested file from the host computer and proceeds to process the file locally as instructed by the user. Though, in this instance, the host session is typically maintained in an active state while local processing occurs, communication with the host computer, other than a minimal amount necessary to keep the host session active, generally only occurs whenever information is to be transferred to or from the host computer to the workstation. Here too, depending upon the amount of processing that is to be locally accomplished, the host computer may effectively see a cessation of activity from the user over a period of time that may last several hours.
The recognition that data communications can contain both highly interactive delay-sensitive transmissions which are best transmitted over a circuit switched connection and bursty transmissions which are best transmitted over a packet network is seen in illustratively U.S. Pat. No. 4,539,676 (issued to J. A. Lucas on Sept. 3, 1985 and hereinafter referred to as the '676 patent). Specifically, the '676 patent discloses an integrated voice/data, though non-ISDN, switch that contains a separate circuit switch and a separate packet switch. Each user terminal provides incoming information to the voice/data switch in the form of a pair of eight bit bytes. Each pair of bytes contains a control byte that has a routing bit and a data byte. The terminal sets the routing bit to an corresponding value that specifies whether the accompanying data byte is to be routed within the voice/data switch to either the circuit switch or to the packet switch for transmission to a called destination through a respective circuit switched network or packet switched network. As such, successive data bytes can be routed via either a circuit switched or a packet switched connection based upon the value of the corresponding routing bits. To provide this routing with minimal delay, the voice/data switch and the networks are disadvantageously required to maintain both the circuit switched connection and the packet switched connection in an active state throughout the entire duration of the call. Consequently, the methodology taught by the '676 patent tends to be quite inefficient for the telephone network and expensive for a user.
Now, if an ISDN access path is used to connect a host to a user, then, as is taught in the art, the particular connection (circuit switched or packet switched) that is established at the inception of the ISDN call to provide this path is that which occurs throughout the remainder of the ISDN call, i.e. the host session. See, for example, U.S. Pat. Nos. 4,731,782 (issued to T. Shimizu et al on Mar. 15, 1988) and 4,569,041 (issued to T. Takeuchi et al on Feb. 4, 1986). Although this approach in the art has several drawbacks, as discussed below, particularly when communication needs change during a host session, a user is much more apt to readily accept these drawbacks rather than to submit to the burdens associated with changing an ISDN connection during the host session.
In particular, certain applications where local processing can not be used, such use of host based keystroke interactive screen editors, rely on the host to echo each character that the user enters into a terminal, through a point-to-point communication circuit that is assumed to have low delay, back to the terminal for appropriate local display. Unfortunately, the echoplex that results when host based echoing is carried over a packet switched network frequently frustrates and annoys users. Consequently, if a user has initiated a host session through a packet switched connection and enters what he or she believes to be a period of heavy keystroke interactivity with the host and which typically requires stringent maximum delay requirements and host application disabling of any PAD functionality at the terminal, then, to circumvent the frustration associated with echoplex that would otherwise occur during this period, the user may be constrained to follow one of two alternative procedures. First, the user could tear down the current host session and initiate a subsequent host session over a circuit switched connection to undertake this interactivity. Tearing down and then re-initiating a host session typically requires terminating various host processes then executing, saving files, logging off the host, dis-connecting the packet switched ISDN link, re-establishing an new ISDN link on a circuit switched channel, re-executing a "login" procedure including what is often a lengthy security check procedure, accessing the file that has just been saved, and re-starting the host processes that were previously terminated. As one can readily appreciate, this procedure involved with establishing a new host session is both time consuming and bothersome. Second and alternatively, if the host operating system permits multiple host sessions, as is the case with illustratively the "UNIX" operating system, the user could allocate the current host session established through a packet switched connection to one window, and open a second window containing a second host session established through a circuit switched connection. With this arrangement, the user could switch between the sessions to utilize a circuit switched connection for those highly interactive delay-sensitive host tasks that disable the PAD in the local terminal and a packet switched connection for other host tasks. Unfortunately, with this alternative procedure, the user is still required to build a second session and re-execute a lengthy "login" procedure which is both bothersome and time consuming to the user. Therefore, to avoid following either of these procedures, a user generally establishes a circuit switched ISDN connection to the host computer prior to the inception of a host session rather than a packet switched connection and then retains that circuit switched connection throughout the entire host session regardless of the specific host application(s) that is executed during that session.
Unfortunately, the presence of bursty communications in a typical host session poses several drawbacks to both the user community and the local telephone companies if a user is permitted to establish a circuit switched ISDN connection to a host computer and then retain that connection throughout a lengthy host session. For a user, circuit switched connections are far more expensive than packet switched connections. Therefore, during any period of relative inactivity particularly during a prolonged interval of time, a user is paying a significant premium for using a circuit switched connection when, in fact, little, if any, communication is being transferred thereover. In addition, the switches installed in the central offices of the local telephone companies frequently do not have sufficient capacity to handle a significant number of simultaneously occurring circuit switched connections each having a long holding time, such as several hours. In particular, local telephone switches are generally designed to provide a capacity of 3-4 CCS (one hundred call seconds) per access line, i.e. a local switch designed to handle 30,000 different access lines with a capacity of 3 CCS can simultaneously accommodate a call lasting 5 minutes on each different line. Hence, the occurrence of a substantial number of simultaneously occurring circuit switched ISDN calls with relatively long holding times can severely strain the capacity of a local switch. Unfortunately, local telephone companies are simply unable to add sufficient circuit switched capacity to handle these calls while still providing circuit switched connections in a relatively cost-effective manner.
Therefore, a need exists in the art for a technique for use in conjunction with an ISDN switch for dynamically changing an ISDN access path, that connects a user to the switch and therethrough to a host computer, between a circuit switched connection and a packet switched connection during a host session according to the communication demands of the host computer that occur during the session. By changing the access path in this fashion, a user would be able to much more efficiently and economically utilize the ISDN than has been possible in the art. Furthermore, to advantageously eliminate any burden on the user, any such dynamic change should be made in a manner that is invoked by the host computer, does not disrupt the host session and is substantially, if not totally, transparent to the user. Moreover, by dynamically matching the ISDN access path to the bandwidth requirements of the current task being executed on the host, the efficiency of the ISDN advantageously increases as does the ability of the telephone company to provide ISDN services sufficient to meet the expected demand of all its users.